#include "link.h"

int main()
{
	int a[]={1,2,3,4,2,6,2,8,9,10};
	//1、创建单链表
	Pliink L=create();//创建头节点
#if 0
	//1.1、头插法
	for(int i=0;i<10;i++)
	{
		front_insert(L,a[i]);//头插法创建整表
	}
	output_liink(L);
#endif
	//1.2、尾插法
	for(int i=0;i<10;i++)
	{
		rear_insert(L,a[i]);//尾插法创建整表
	}
	output_liink(L);
	//2、任意位置插入
	anypos_insert(L,3,666);
	output_liink(L);
	//3、任意位置删除
	anypos_delete(L,3);
	output_liink(L);
	//
	//7、头删
	front_delete(L);
	output_liink(L);
	//8、尾删
	rear_delete(L);
	output_liink(L);
	//9、按值删除
	valua_delete(L,9);
	output_liink(L);
	//10、按值修改
	value_change(L,8,222);
	output_liink(L);
	//11、按值查找返回地址
	Pliink adder =value_find(L,7);
	if(adder == NULL)
		printf("查找失败，没有该值\n");
	else
		printf("值存在，地址为%p\n",adder);
	output_liink(L);
	//12、链表逆置
	link_re1(L);
	output_liink(L);
	//13、排序
	popul_sort(L);
	output_liink(L);
	//14、去重
	Dudup(L);
	output_liink(L);
	//13、销毁
	link_destroy(L);
	return 0;
}
